package org.apache.click.doubleclick.annotationconfig.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Annotation to define application mode. Only one mode is allowed for one application.
 * If more the one application mode annotation is found for an application, then
 * a runtime exception will be thrown. The default mode is <i>DEVELOPMENT</i>.
 *
 * @author Jahid Shohel(jshohel@gmail.com)
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface ApplicationMode {
    /**
     * Returns the application mode. Default application mode is <i>DEVELOPMENT</i>
     *
     * @return The application mode.
     */
    public Mode value() default Mode.DEVELOPMENT;
}
